Enterprise information technology (IT) systems often are used to manage and process business data. To do so, a business enterprise may use various application programs running on one or more enterprise IT systems. Application programs may be used to process business transactions, such as taking and fulfilling customer orders, providing supply chain and inventory management, performing human resource management functions, and performing financial management functions. Application programs also may be used for analyzing data, including analyzing data obtained through transaction processing systems. In many cases, application programs used by a business enterprise are developed by a commercial software developer for sale to, and use by, many business enterprises.
An application program may be customized to meet the specific requirements of the environment in which the application program is operating. For example, an application program running on a computer system may be customized to meet the specific requirements of a group of users, such as a particular business enterprise or a particular department in a company. Examples of such customization include customization of the data model, the process model, or the user interface of the application. Parameters in an application program may be customized to meet the requirements of a particular country, a particular industry, a particular company, or a particular department in a company so that the system accurately fulfills specific requirements of the operating environment, even highly specialized or localized requirements. Examples of customization include company-name parameter customization, company-organization-structure parameter customization, company-financial-information parameter customization, language parameter customization, unit parameter customization (e.g., metric versus English), format parameter customization (e.g., month/day/year versus day/month/year), work process parameter customization, and notation parameter customization. Customization of an application program may require knowledge of the data model, the process model, and/or the user interface of the application program. Customization of an application program also may require knowledge of programming techniques used to develop the application program. Typically, the customization occurs for an application program prior to, or as part of, deploying the application program in the business enterprise.
One approach to customizing an application program is to modify the computer programs of the application program. Another approach is to develop a second application program that performs a customized process and integrate the second application program with the original application program, for example, by exchanging data between the second, custom-developed application program and the original application program.